module ois.inputmanager;

import ois.prereqs;
import dogre.internals.utils;
import ois.oisobject;
import std.string;

extern(C)
{
    void* call_createInputSystem(void* pl);
    OISObject* call_createInputSystem(void* ptr, Type type, bool bufferMode, const(char)* buffer);
}

class InputManager
{
    mixin(Wrapper);
    
    static InputManager createInputSystem(ParamList pl)
    {
        return new InputManager(call_createInputSystem(pl.p));
    }
    
    OISObject createInputObject(Type type, bool bufferMode, string buffer = "")
    {
        return new OISObject(call_createInputSystem(p, type, bufferMode, toStringz(buffer)));
    }
}